jsx3.Class.defineClass(
        "tibco.admin.monitormanage.uicomponents.page.deployment.tabContent.serviceAssemblies.ServiceAssemblies", //the full name of the class to create
        jsx3.lang.Object, //  extends
        [tibco.admin.monitormanage.uicomponents.page.deployment.EnvironmentTabInterface], // implements
        function (plugin) {
        
            plugin.instance = null

            plugin.getInstance = function(args) {
                if(!this.instance) {
                    this.instance = new tibco.admin.monitormanage.uicomponents.page.deployment.tabContent.serviceAssemblies.ServiceAssemblies();
                }
                return this.instance;
            }

            plugin.prototype.getNamespace = function() {
               return "tibco.admin";
            }
            
            plugin.prototype.getTabText = function() {
				return tibco.admin.Main.getServer().getDynamicProperty("@MM@general@OverviewTitle");
            	//return "Overview";
            }

            plugin.prototype.loadComponent = function(parent) {
				if(!tibco.admin.monitormanage || !tibco.admin.monitormanage.uicomponents || !tibco.admin.monitormanage.uicomponents.table || !tibco.admin.monitormanage.uicomponents.table.serviceAssemblies || !tibco.admin.monitormanage.uicomponents.table.serviceAssemblies.ServiceAssemblies)
	        	{ tibco.admin.Main.loadClass("tibco/admin/monitormanage/uicomponents/table/serviceAssemblies/ServiceAssemblies.js", this.getNamespace()); }
	            var serviceAssembliesTable = tibco.admin.Main.loadUIResource(parent, this.getNamespace(), "tibco/admin/monitormanage/uicomponents/table/serviceAssemblies/components/serviceAssemblies.xml", true);
	            serviceAssembliesTable.setUpComponent(tibco.admin.monitormanage.uicomponents.page.deployment.Deployment.environmentScreenId);
            }
            
            plugin.prototype.updateComponent = function(environmentId) {
            	// this method does not have to do anything considering the component update is
            	// handled by the components within this component
            	jsx3.log("Deployment Environment Service Assemblies tab had updateComponent invoked with id = " + environmentId); 
            }
            
            plugin.prototype.tabClicked = function(objEvent) {
            	tibco.admin.monitormanage.uicomponents.dropdown.timeframe.Timeframe.showTimeframe(tibco.admin.monitormanage.uicomponents.page.deployment.Deployment.environmentScreenId);
        	}

        });